'use strict';

var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

var A = function () {
    function A() {
        var _this = this;

        _classCallCheck(this, A);

        this.count = 5;

        this.fun = function () {
            console.log('fun from A' + _this.count);
            //console.log(this.name());
        };
    }

    _createClass(A, [{
        key: 'foo',
        value: function foo() {
            console.log('foo from A' + this.count);
            //console.log(this.name());
        }
    }, {
        key: 'name',
        value: function name() {
            return 'this is class A';
        }
    }]);

    return A;
}();

var instanceA = new A();
//instanceA.foo();
instanceA.fun();
instanceA.foo();
const {foo, fun} = instanceA;
fun();
foo();